home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 5_2007-2008.ISO / data / Zips / Evi_Collec2074717102007.psc / Evi Collection Control XP / EviAnimationForm.ctl next >
Text File  |  2007-07-09  |  7KB  |  209 lines

  1. VERSION 5.00
  2. Begin VB.UserControl EviAnimationForm 
  3.    ClientHeight    =   495
  4.    ClientLeft      =   0
  5.    ClientTop       =   0
  6.    ClientWidth     =   450
  7.    InvisibleAtRuntime=   -1  'True
  8.    Picture         =   "EviAnimationForm.ctx":0000
  9.    ScaleHeight     =   495
  10.    ScaleWidth      =   450
  11.    ToolboxBitmap   =   "EviAnimationForm.ctx":084E
  12. End
  13. Attribute VB_Name = "EviAnimationForm"
  14. Attribute VB_GlobalNameSpace = False
  15. Attribute VB_Creatable = True
  16. Attribute VB_PredeclaredId = False
  17. Attribute VB_Exposed = True
  18. 'by evi indra effendi
  19. 'email:effendi24@gmail.com
  20. Option Explicit
  21.  
  22. Dim m_ControlType() As ControlType
  23. Dim m_Counter As Long
  24.  
  25. Public GraphicForm As New GraphicForms
  26.  
  27. Enum EditTipIcon
  28.     etiNone = 0
  29.     etiInfo = 1
  30.     etiWarning = 2
  31.     etiError = 3
  32. End Enum
  33.  
  34. Const HWND_TOPMOST As Long = -1
  35. Const SWP_NOMOVE As Long = &H2
  36. Const SWP_NOSIZE As Long = &H1
  37.  
  38. Const ICC_WIN95_CLASSES As Long = &HFF
  39.  
  40. Const CCM_FIRST As Long = &H2000
  41. Const CCM_SETWINDOWTHEME As Long = (CCM_FIRST + &HB)
  42. Const WM_USER As Long = &H400
  43. Const CW_USEDEFAULT As Long = &H80000000
  44. Const ECM_FIRST As Long = &H1500
  45.  
  46. Const EM_SHOWBALLOONTIP = ECM_FIRST + 3
  47.  
  48. Const WS_POPUP As Long = &H80000000
  49. Const WS_EX_TOPMOST As Long = &H8&
  50.  
  51. Const TOOLTIPS_CLASSA As String = "tooltips_class32"
  52.  
  53. Const TTF_ABSOLUTE As Long = &H80
  54. Const TTF_CENTERTIP As Long = &H2
  55. Const TTF_DI_SETITEM As Long = &H8000
  56. Const TTF_IDISHWND As Long = &H1
  57. Const TTF_RTLREADING As Long = &H4
  58. Const TTF_SUBCLASS As Long = &H10
  59. Const TTF_TRACK As Long = &H20
  60. Const TTF_TRANSPARENT As Long = &H100
  61.  
  62. Const TTI_ERROR As Long = 3
  63. Const TTI_INFO As Long = 1
  64. Const TTI_NONE As Long = 0
  65. Const TTI_WARNING As Long = 2
  66.  
  67. Const TTM_ACTIVATE As Long = (WM_USER + 1)
  68. Const TTM_ADDTOOL As Long = (WM_USER + 4)
  69. Const TTM_ADJUSTRECT As Long = (WM_USER + 31)
  70. Const TTM_DELTOOL As Long = (WM_USER + 5)
  71. Const TTM_ENUMTOOLS As Long = (WM_USER + 14)
  72. Const TTM_GETBUBBLESIZE As Long = (WM_USER + 30)
  73. Const TTM_GETCURRENTTOOL As Long = (WM_USER + 15)
  74. Const TTM_GETDELAYTIME As Long = (WM_USER + 21)
  75. Const TTM_GETMARGIN As Long = (WM_USER + 27)
  76. Const TTM_GETMAXTIPWIDTH As Long = (WM_USER + 25)
  77. Const TTM_GETTEXT As Long = (WM_USER + 11)
  78. Const TTM_GETTIPBKCOLOR As Long = (WM_USER + 22)
  79. Const TTM_GETTIPTEXTCOLOR As Long = (WM_USER + 23)
  80. Const TTM_GETTOOLCOUNT As Long = (WM_USER + 13)
  81. Const TTM_GETTOOLINFO As Long = (WM_USER + 8)
  82. Const TTM_HITTEST As Long = (WM_USER + 10)
  83. Const TTM_NEWTOOLRECT As Long = (WM_USER + 6)
  84. Const TTM_POP As Long = (WM_USER + 28)
  85. Const TTM_POPUP As Long = (WM_USER + 34)
  86. Const TTM_RELAYEVENT As Long = (WM_USER + 7)
  87. Const TTM_SETDELAYTIME As Long = (WM_USER + 3)
  88. Const TTM_SETMARGIN As Long = (WM_USER + 26)
  89. Const TTM_SETMAXTIPWIDTH As Long = (WM_USER + 24)
  90. Const TTM_SETTIPBKCOLOR As Long = (WM_USER + 19)
  91. Const TTM_SETTIPTEXTCOLOR As Long = (WM_USER + 20)
  92. Const TTM_SETTITLE As Long = (WM_USER + 32)
  93. Const TTM_SETTOOLINFO As Long = (WM_USER + 9)
  94. Const TTM_SETWINDOWTHEME As Long = CCM_SETWINDOWTHEME
  95. Const TTM_TRACKACTIVATE As Long = (WM_USER + 17)
  96. Const TTM_TRACKPOSITION As Long = (WM_USER + 18)
  97. Const TTM_UPDATE As Long = (WM_USER + 29)
  98. Const TTM_UPDATETIPTEXT As Long = (WM_USER + 12)
  99. Const TTM_WINDOWFROMPOINT As Long = (WM_USER + 16)
  100.  
  101. Const TTN_FIRST As Long = (-520)
  102. Const TTN_GETDISPINFO As Long = (TTN_FIRST - 0)
  103. Const TTN_LAST As Long = (-549)
  104. Const TTN_LINKCLICK As Long = (TTN_FIRST - 3)
  105. Const TTN_NEEDTEXT As Long = TTN_GETDISPINFO
  106. Const TTN_POP As Long = (TTN_FIRST - 2)
  107. Const TTN_SHOW As Long = (TTN_FIRST - 1)
  108.  
  109. Const TTS_ALWAYSTIP As Long = &H1
  110. Const TTS_BALLOON As Long = &H40
  111. Const TTS_NOANIMATE As Long = &H10
  112. Const TTS_NOFADE As Long = &H20
  113. Const TTS_NOPREFIX As Long = &H2
  114.  
  115. Private ghWndTip As Long, ghWndParent As Long
  116.  
  117. Dim m_Object As Object
  118.  
  119. Enum ttIconType
  120.   [No Icon] = 0
  121.   [Icon Info] = 1
  122.   [Icon Warning] = 2
  123.   [Icon Error] = 3
  124. End Enum
  125.  
  126. Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
  127. Set m_Object = UserControl.Parent
  128. End Sub
  129.  
  130. Private Sub UserControl_Resize()
  131. If UserControl.Width <> 450 Then
  132.     UserControl.Width = 450
  133. End If
  134. If UserControl.Height <> 495 Then
  135.     UserControl.Height = 495
  136. End If
  137. End Sub
  138.  
  139. Private Sub UserControl_Show()
  140. Set m_Object = UserControl.Parent
  141. End Sub
  142.  
  143. Public Sub Show()
  144. Dim m_m As Long
  145. If m_Counter <= 0 Then Exit Sub
  146. For m_m = 1 To m_Counter
  147.     ShowToolTipsBalloon m_ControlType(m_m).cntrlObjectForm, m_ControlType(m_m).cntrlHwnd, m_ControlType(m_m).cntrlToolTipsText, m_ControlType(m_m).cntrlToolTipsTitle, m_ControlType(m_m).cntrlToolTipsIcon
  148. Next m_m
  149. End Sub
  150.  
  151. Public Function Add(Optional ObjectFormOwner As Object = Nothing, Optional AddObjectToShowToolTips As Object = Nothing, Optional ToolTipText As String _
  152. = "", Optional ToolTipTitle As String = "", Optional _
  153. ToolTipIcon As ttIconType = 1)
  154. m_Counter = m_Counter + 1
  155. ReDim Preserve m_ControlType(m_Counter)
  156. Set m_ControlType(m_Counter).cntrlObjectForm = ObjectFormOwner
  157. m_ControlType(m_Counter).cntrlHwnd = AddObjectToShowToolTips.hWnd
  158. m_ControlType(m_Counter).cntrlToolTipsText = ToolTipText
  159. m_ControlType(m_Counter).cntrlToolTipsTitle = ToolTipTitle
  160. m_ControlType(m_Counter).cntrlToolTipsIcon = ToolTipIcon
  161. End Function
  162.  
  163. Private Sub ShowToolTipsBalloon(Optional ObjectForm As Object, Optional OwnHwnd As Long, Optional _
  164. ToolTipsText As String, Optional ToolTipTitle As String, Optional _
  165. ToolTipIcon As Integer)
  166.     Dim tiInfo As TOOLINFO
  167.     Dim MyHwnD As Long
  168.     Dim hWndTip As Long, dwFlags As Long, ICEx As ICCEX
  169.     
  170.     dwFlags = TTS_NOPREFIX Or TTS_ALWAYSTIP Or TTS_BALLOON
  171.     
  172.     With ICEx
  173.         .dwSize = Len(ICEx)
  174.         .dwICC = ICC_WIN95_CLASSES
  175.     End With
  176.     
  177.     InitCommonControlsEx ICEx
  178.     
  179.     hWndTip = CreateWindowEx(WS_EX_TOPMOST, TOOLTIPS_CLASSA, "", WS_POPUP Or dwFlags, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, OwnHwnd, 0, App.hInstance, ByVal 0&)
  180.     
  181.     If hWndTip = 0 Then Exit Sub
  182.     
  183.     SetWindowPos hWndTip, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
  184.     
  185.     ghWndTip = hWndTip
  186.     ghWndParent = ObjectForm.hWnd
  187.     
  188.     With tiInfo
  189.         .dwFlags = TTF_SUBCLASS Or TTF_TRANSPARENT
  190.         .hWnd = OwnHwnd
  191.         .lpszText = StrPtr(StrConv(ToolTipsText, vbFromUnicode))
  192.         .hInst = App.hInstance
  193.         GetClientRect OwnHwnd, .rtRect
  194.         
  195.         .cbSize = Len(tiInfo)
  196.  
  197.     End With
  198.     
  199.     SendMessage ghWndTip, TTM_ADDTOOL, 0&, tiInfo
  200.     If ToolTipTitle <> vbNullString Or ToolTipIcon <> 0 Then
  201.         SendMessage ghWndTip, TTM_SETTITLE, CLng(ToolTipIcon), ByVal ToolTipTitle
  202.     End If
  203. End Sub
  204.  
  205. Private Sub UserControl_Terminate()
  206. m_Counter = 0
  207. ReDim Preserve m_ControlType(m_Counter)
  208. End Sub
  209.